1f3a710bbd8c539b555ee7cfbf48d619e15286e0,src/main/java/net/blay09/mods/craftingtweaks/net/HandlerTransferStack.java,HandlerTransferStack,onMessage,#MessageTransferStack#MessageContext#,17

Before Change



    @Override
    public IMessage onMessage(final MessageTransferStack message, final MessageContext ctx) {
        CraftingTweaks.proxy.addScheduledTask(new Runnable() {
            @Override
            public void run() {
                EntityPlayer entityPlayer = ctx.getServerHandler().playerEntity;
                Container container = entityPlayer.openContainer;
                if(container != null && message.slotNumber >= 0 && message.slotNumber < container.inventorySlots.size()) {
                    TweakProvider tweakProvider = CraftingTweaks.instance.getProvider(container);
                    if (tweakProvider != null) {
                        Slot slot = container.inventorySlots.get(message.slotNumber);
                        if(!tweakProvider.canTransferFrom(entityPlayer, container, message.id, slot) || slot instanceof SlotCrafting) { // SlotCrafting is always blacklisted
                            return;
                        }
                        ItemStack slotStack = slot.getStack();
                        if(slotStack != null && slot.canTakeStack(entityPlayer)) {
                            ItemStack oldStack = slotStack.copy();
                            if(!tweakProvider.transferIntoGrid(entityPlayer, container, message.id, slotStack)) {
                                return;
                            }
                            slot.onSlotChange(slotStack, oldStack);
                            if(slotStack.stackSize <= 0) {
                                slot.putStack(null);
                            } else {
                                slot.onSlotChanged();
                            }
                            if(slotStack.stackSize == oldStack.stackSize) {
                                return;
                            }
                            slot.onPickupFromSlot(entityPlayer, slotStack);
                        }
                    }
                }
            }
        });
        return null;
    }

After Change



    @Override
    public IMessage onMessage(final MessageTransferStack message, final MessageContext ctx) {
        CraftingTweaks.proxy.addScheduledTask(() -> {
            EntityPlayer entityPlayer = ctx.getServerHandler().playerEntity;
            Container container = entityPlayer.openContainer;
            if(container != null && message.slotNumber >= 0 && message.slotNumber < container.inventorySlots.size()) {
                TweakProvider tweakProvider = CraftingTweaks.instance.getProvider(container);
                if (tweakProvider != null) {
                    Slot slot = container.inventorySlots.get(message.slotNumber);
                    if(!tweakProvider.canTransferFrom(entityPlayer, container, message.id, slot) || slot instanceof SlotCrafting) { // SlotCrafting is always blacklisted
                        return;
                    }
                    ItemStack slotStack = slot.getStack();
                    if(slotStack != null && slot.canTakeStack(entityPlayer)) {
                        ItemStack oldStack = slotStack.copy();
                        if(!tweakProvider.transferIntoGrid(entityPlayer, container, message.id, slot)) {
                            return;
                        }
                        slot.onSlotChange(slotStack, oldStack);
                        if(slotStack.stackSize <= 0) {
                            slot.putStack(null);
                        } else {
                            slot.onSlotChanged();
                        }
                        if(slotStack.stackSize == oldStack.stackSize) {
                            return;
                        }
                        slot.onPickupFromSlot(entityPlayer, slotStack);
                    }
                }
            }
        });
        return null;
    }